﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace WcfService1
{
    public class DAL
    {

        public ContribuyenteEntity GetContribuyente(String strRUC)
        {
            List<SqlParameter> par;
            par = ObtenerParametros(strRUC);
            return Alexim.DBUtility.SqlHelper.ExecuteReaderWithOneResult<ContribuyenteEntity>(Alexim.DBUtility.SqlHelper.ConnectionString,
                CommandType.StoredProcedure, "UP_GetContribuyente", ObtenerDatoReader, par.ToArray());

        }


        private List<SqlParameter> ObtenerParametros(String strRUC)
        {
            SqlParameter sqlpar;
            List<SqlParameter> par = new List<SqlParameter>();

            sqlpar = new SqlParameter("@RUC", SqlDbType.VarChar, 11);
            if (strRUC != "")
                sqlpar.Value = strRUC;
            else
                sqlpar.Value = DBNull.Value;
            par.Add(sqlpar);

            return par;
        }


        private ContribuyenteEntity ObtenerDatoReader(IDataReader ir)
        {
            ContribuyenteEntity entity = new ContribuyenteEntity();

            entity.RUC = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(0));
            entity.TipoContribuyente = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(1));
            entity.NombreComercial = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(2));
            entity.Fecha_inscripcion = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<DateTime>(ir.GetDateTime(3));
            entity.Fecha_inicio = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<DateTime>(ir.GetDateTime(4));
            entity.Direccion =Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(5));
            entity.Estado_contribuyente =Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(6));
            entity.Condicion_contribuyente = Alexim.DBUtility.SqlHelper.ConvertToNonNullableOrDefaultValue<String>(ir.GetString(7));

            return entity;
        }
    }
}